package com.ruoyi.settlement.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * 结算对象 tb_settlement
 * 
 * @author ruoyi
 * @date 2023-05-08
 */
public class TbSettlement extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 结算编号 */
    private Long settlementId;

    /** 结算日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "结算日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date settlementTime;

    /** 支付渠道 */
    @Excel(name = "支付渠道")
    private Long payType;

    /** 订单总金额 */
    @Excel(name = "订单总金额")
    private BigDecimal totalPrice;

    /** 订单数量 */
    @Excel(name = "订单数量")
    private Long orderNum;

    /** 平台服务费总额 */
    @Excel(name = "平台服务费总额")
    private BigDecimal serviceCharge;

    /** 支付服务费总额 */
    @Excel(name = "支付服务费总额")
    private BigDecimal payServiceFee;

    /** 可提现金额 */
    @Excel(name = "可提现金额")
    private BigDecimal withdrawPrice;

    /** 是否确认 */
    @Excel(name = "是否确认")
    private Long isAck;

    /** 是否申请提现 */
    @Excel(name = "是否申请提现")
    private Long isWithdraw;

    /** 提现申请时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "提现申请时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date withdrawTime;

    /** 是否打款 */
    @Excel(name = "是否打款")
    private Long isRemit;

    /** 打款时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "打款时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date remitTime;

    /** 打款人 */
    @Excel(name = "打款人")
    private String remitPerName;

    /** 打款账户 */
    @Excel(name = "打款账户")
    private String remitAccount;

    /** 收款账户 */
    @Excel(name = "收款账户")
    private String collectionAccount;

    /** 流水号 */
    @Excel(name = "流水号")
    private String serialNumber;

    public void setSettlementId(Long settlementId) 
    {
        this.settlementId = settlementId;
    }

    public Long getSettlementId() 
    {
        return settlementId;
    }
    public void setSettlementTime(Date settlementTime) 
    {
        this.settlementTime = settlementTime;
    }

    public Date getSettlementTime() 
    {
        return settlementTime;
    }
    public void setPayType(Long payType) 
    {
        this.payType = payType;
    }

    public Long getPayType() 
    {
        return payType;
    }
    public void setTotalPrice(BigDecimal totalPrice) 
    {
        this.totalPrice = totalPrice;
    }

    public BigDecimal getTotalPrice() 
    {
        return totalPrice;
    }
    public void setOrderNum(Long orderNum) 
    {
        this.orderNum = orderNum;
    }

    public Long getOrderNum() 
    {
        return orderNum;
    }
    public void setServiceCharge(BigDecimal serviceCharge) 
    {
        this.serviceCharge = serviceCharge;
    }

    public BigDecimal getServiceCharge() 
    {
        return serviceCharge;
    }
    public void setPayServiceFee(BigDecimal payServiceFee) 
    {
        this.payServiceFee = payServiceFee;
    }

    public BigDecimal getPayServiceFee() 
    {
        return payServiceFee;
    }
    public void setWithdrawPrice(BigDecimal withdrawPrice) 
    {
        this.withdrawPrice = withdrawPrice;
    }

    public BigDecimal getWithdrawPrice() 
    {
        return withdrawPrice;
    }
    public void setIsAck(Long isAck) 
    {
        this.isAck = isAck;
    }

    public Long getIsAck() 
    {
        return isAck;
    }
    public void setIsWithdraw(Long isWithdraw) 
    {
        this.isWithdraw = isWithdraw;
    }

    public Long getIsWithdraw() 
    {
        return isWithdraw;
    }
    public void setWithdrawTime(Date withdrawTime) 
    {
        this.withdrawTime = withdrawTime;
    }

    public Date getWithdrawTime() 
    {
        return withdrawTime;
    }
    public void setIsRemit(Long isRemit) 
    {
        this.isRemit = isRemit;
    }

    public Long getIsRemit() 
    {
        return isRemit;
    }
    public void setRemitTime(Date remitTime) 
    {
        this.remitTime = remitTime;
    }

    public Date getRemitTime() 
    {
        return remitTime;
    }
    public void setRemitPerName(String remitPerName) 
    {
        this.remitPerName = remitPerName;
    }

    public String getRemitPerName() 
    {
        return remitPerName;
    }
    public void setRemitAccount(String remitAccount) 
    {
        this.remitAccount = remitAccount;
    }

    public String getRemitAccount() 
    {
        return remitAccount;
    }
    public void setCollectionAccount(String collectionAccount) 
    {
        this.collectionAccount = collectionAccount;
    }

    public String getCollectionAccount() 
    {
        return collectionAccount;
    }
    public void setSerialNumber(String serialNumber) 
    {
        this.serialNumber = serialNumber;
    }

    public String getSerialNumber() 
    {
        return serialNumber;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("settlementId", getSettlementId())
            .append("settlementTime", getSettlementTime())
            .append("payType", getPayType())
            .append("totalPrice", getTotalPrice())
            .append("orderNum", getOrderNum())
            .append("serviceCharge", getServiceCharge())
            .append("payServiceFee", getPayServiceFee())
            .append("withdrawPrice", getWithdrawPrice())
            .append("isAck", getIsAck())
            .append("isWithdraw", getIsWithdraw())
            .append("withdrawTime", getWithdrawTime())
            .append("isRemit", getIsRemit())
            .append("remitTime", getRemitTime())
            .append("remitPerName", getRemitPerName())
            .append("remitAccount", getRemitAccount())
            .append("collectionAccount", getCollectionAccount())
            .append("serialNumber", getSerialNumber())
            .toString();
    }
}
